package com.ibeeking.found.cop.service.mapper;

import com.ibeeking.found.common.base.BaseMapper;
import com.ibeeking.found.cop.service.common.dos.FriendsTagsRelDO;
import com.ibeeking.found.cop.service.common.po.FriendsTagsRelPO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

public interface FriendsTagsRelMapper extends BaseMapper<FriendsTagsRelDO> {

    List<FriendsTagsRelDO> listByFriendsIds(@Param("tenantId") Integer tenantId, @Param("friendsIds") Set<Long> friendsIds);

    List<FriendsTagsRelDO> listByTagsIds(@Param("tenantId") Integer tenantId, @Param("tagsIds")  Set<Long> tagsIds);

    List<FriendsTagsRelPO> listByFriendsId(@Param("tenantId") Integer tenantId, @Param("friendsId")  Long friendsId);

    Integer batchInsertOnNotExist(@Param("tenantId") Integer tenantId, @Param("entityList") List<FriendsTagsRelDO> friendsTagsRelDOS);

    Integer batchDeleteOnExist(@Param("tenantId") Integer tenantId, @Param("entityList") List<FriendsTagsRelDO> friendsTagsRelDOS);

    List<String> getTagsCodeListByFriendsCodesList(@Param("tenantId") Integer tenantId, @Param("friendsCodeList") List<String> friendsCodeList);

    List<String> getFriendsCodeListByTagsCodesList(@Param("tenantId") Integer tenantId, @Param("tagsCodeList") List<String> tagsCodeList);

}
